#include <bits/stdc++.h>
using namespace std;
const int N = 11, M = 101;
int n, m, k, a[N][M], b[N][M], c[N][M];
int main() {
cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
string name;
cin >> name;
for (int j = 1; j <= m; j++) {
cin >> a[i][j] >> b[i][j] >> c[i][j];
}
}
int ans = 0;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (i == j) {
continue;
}
vector<int> vec;
for (int x = 1; x <= m; x++) {
for (int y = 1; y <= c[i][x]; y++) {
vec.push_back(b[j][x] - a[i][x]);
}
}
sort(vec.begin(), vec.end());
reverse(vec.begin(), vec.end());
int sum = 0;
for (int x = 0; x < min(k, (int)vec.size()); x++) {
sum += max(vec[x], 0);
}
ans = max(ans, sum);
}
}
cout << ans;
return 0;
}/*1689884908.9791336*/
1382A - Common Subsequence | 1512D - Corrupted Array |
667B - Coat of Anticubism | 284B - Cows and Poker Game |
1666D - Deletive Editing | 1433D - Districts Connection |
2B - The least round way | 1324A - Yet Another Tetris Problem |
246B - Increase and Decrease | 22E - Scheme |
1566A - Median Maximization | 1278A - Shuffle Hashing |
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |
851A - Arpa and a research in Mexican wave | 811A - Vladik and Courtesy |
1006B - Polycarp's Practice | 1422A - Fence |